═══ 1. PC/2 Help for Help ═══ PC/2 - Program Commander/2 Version 1.40 for IBM OS/2 2.x Presentation Manager Copyright (C) by Stangl Roman 04, 1993 Please select one of the following topics for further information: o About the utility PC/2 o Installing PC/2 o Using PC/2 as a WPS addon o Concepts of the Popup-Menu o Starting a Program from PC/2 o Setup the Popup-Menu - Adding a Submenu - Adding a Program - Resorting a (Sub)menu - Run-time parameters o Error messages ═══ 2. Help for About PC/2 ═══ PC/2 - Program Commander/2 Version 1.40 for IBM OS/2 2.x Presentation Manager Copyright (C) by Stangl Roman 04, 1993 University for Business Administration and Management Vienna, Austria (WirtschaftsuniversitДt Wien) E-Mail: o 8650533@awiwuw11.wu-wien.ac.at o Roman Stangl @ IBM Austria National Support BBS ((0043) 0222 21145 6600) This program is classified as Freeware. Under the copyright, you are allowed and encouraged to freely use, distribute or modify this program under the following conditions: o The complete source code and all executables are included. This rule also applies for any modifications you made. o You may only charge for the costs of duplicating. o Any commercial use is prohibited without contacting me prior, except for incorporating the idea/code in any future release of OS/2 by IBM, however this clause doesn't apply for any private use. o You don't want to port this utility to MS Windows or Windows NT (never there). You are encouraged to upload this utility to your favourite file-server or BBS. Please ensure that no file is missing, if you change the archive to a different compression scheme. If you find this program useful and want to honor the six weeks of work writing this utility, you are welcome to send me a small fee of about 50 to 150 Austrian Schilling (about 5 to 15 dollar) to my home address. Of course you don't need to pay again, if a new release of PC/2 comes out. Please send any donations in cash, because it makes some troubles to exchange money orders or similar in Austria! Any suggestions are of course welcome too. Thanks to all those, who sent me proposals and bug reports to improve this utility! My home address is: Roman Stangl Strebersdorferstrasse 46 2103 Langenzersdorf, Austria ═══ 3. Installing PC/2 ═══ You have obviously started PC/2 once, because you are reading this help panel. The installation is just straight forward with the REXX script that installs PC/2, however there are some points to notice: o The installation installed an icon on the Desktop and started the help panels of PC/2. To ensure that OS/2 starts PC/2 automatically the next time you boot your system, you must start PC/2 again (you then can notice that the background behind the icon changes). If you have added SET RESTARTOBJECTS=STARTUPFOLDERSONLY in your CONFIG.SYS then you must also add a shadow of PC/2 to your startup folder to ensure PC/2 is started the next time you boot OS/2. o PC/2 requires the file PC2HOOK.DLL to be accessible. PC/2 tries to find this file either in the directory, where PC/2 was started from, or in a path that is included in the environment variable LIBPATH. PC/2 will issue an error message, if it can't find it. The file PC2.HLP may be either accessible in the directory, where PC/2 is started from, or in a path that is included in the environment variable HELP. If you have problems running PC/2, ensure, that the working directory of PC/2 is accessible by these variables in your CONFIG.SYS. o The installation assumes that you are using the default profile Pc2.cfg containing a standart pre-defined Popup-Menu. If you want to use an other Popup-Menu, you have to open the Settings of PC/2 and add your preferred profile in the Parameters entryfield. Please click for the next help panel to see the syntax of the command-line parameters of PC/2. This command-line parameters then must be added to the Parameters entryfield. o You can only run one copy of PC/2 concurrently. o If you select a DOS-Program to be started via PC/2, the time-slice of their sessions is optimized (the DOS-Settings are modified to IDLE_SECONDS=5 IDLE_SENSITIVITY=100) to get a better performance. This is useful for most DOS games. o You may use PC/2 with or without the WPS installed, you may even use PC/2 as a replacement for the WPS. To do so you must install PC/2 first. Then you have to ensure that PC2HOOK.DLL is accessible by PC/2. PC/2 tries to find this file in the directory where PC/2 is started from or in a path pointed to by the LIBPATH environment variable in your CONFIG.SYS. You also have to ensure that PC2.HLP is accessible in the PC/2 directory or in a path pointed to by the HELP environment variable in your CONFIG.SYS file. The default access ".;" is not sufficient. Then replace the statement SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE with SET RUNWORKPLACE=[path]PC2.EXE where [path] is the pathname of the directory you installed PC/2. The next time you boot, PC/2 will be started as a replacement for the WPS. Be carefull, OS/2 seems to dislike any parameters added to the program that is started as the WPS! Caution! PC/2 was not tested on all OS/2 versions or installed software and hardware (simply because I don't have them), so there may be bugs!. Of course you can start the WPS from a command prompt by typing START PMSHELL or add a corresponding entry to PC/2. ═══ 4. General Help for PC/2 ═══ PC/2 - Program Commander is an addon for the WPS (Workplace Shell). The user can configure a menu that pops up, when the left mouse button is clicked anywhere on the Desktop. F.e. the Popup-Menu might look like: You have selected the item Prompts, which is a Submenu containing four more items. F.e. the item OS/2 Window starts a windowed OS/2 command prompt, when selected. This Popup-Menu is fully configurable, you may add, change or remove items. An item can either be a Submenu containing more items, or the name of a program. Only the first Submenu PC/2 Setup cannot be modified. This Submenu is used to setup PC/2 and to get help. Your configuration is read from the default profile Pc2.cfg each time PC/2 is started and saved every time you made changes. You can of course overwrite the default configuration filename to a file named Filename.ext by invoking PC/2 with the following commandline option: PC2 [-Profile Filename.ext] or PC2 [/Profile Filename.ext] where Filename.ext conforms to a filename of a PC/2 profile. Both FAT and HPFS filename naming convention is accepted. A few sample configuration files are provided in this package. As the default, the Popup-Menu appears if you double-click once on the Desktop, if no option or the following option is specified: PC2 [-DoubleClick] or PC2 [/DoubleClick] You may select a single-click instead, by invoking PC/2 with the following commandline option: PC2 [-SingleClick] or PC2 [/SingleClick] Please be sure not to combine both click behavior options. Of course the options changing the click behavior and the configuration filename options may be combined. Because some people use PC/2 as a WPS replacement, PC/2 contains a Menuitem to ShutDown OS/2. By selecting this entry, it is safe to power off your PS/2 or PC after all disk activity has been stopped, although no windows are closed. If you run PC/2 as a WPS replacement and may want to start the WPS either by starting PMSHELL.EXE from a command prompt or by starting a PMSHELL Menuitem with PC/2. You then can follow the WPS initialization by heavy disk access and buildup of your Desktop with objects. PC/2 requires to know the Desktop (in technical terms the window handle of the Desktop) to be able to catch mouse button 1 clicks. If you start the WPS the Desktop changes too. Therefor PC/2 checks regularily (about every 2.5 seconds) if the Desktop has changed, so you may have to wait a little bit, after the WPS was started, that PC/2 recognizes mouse clicks again.. I would strongly recommend to start PC/2 during OS/2 boot. If you don't want to use the default profile, don't forget to add /Profile Filename.exe to the Parameters entryfield in the Settings of PC/2. The reason why I wrote this utility was primarily, that many programs installed on a system require many folders and icons on the Desktop. But to start a program, I don't want to open and close folders, so I made shadows on the Desktop messing it up. The solution I prefer is to click on the Desktop, getting immediately a menu and selecting the application from this menu. So PC/2 may help you to start your programs quickly, without needing to open and close folders. ═══ 5. Concepts of PC/2 ═══ The basic idea behind PC/2 is to have an configurable Popup-Menu available, to start programs quicky, without having to open and close folders. The Popup-Menu, popped up when you click the left mouse button anywhere on the Desktop (just like the right one for shutdown), consists of so-called items. An item may be a Submenu, which contains further items, or the title of an Application. A Submenu contains a little arrow right beside the title of the Submenu. You can imagine this Popup-Menu as a tree, with applications as leaves and Submenus as nodes. PC/2 allows you to freely build your own tree. To do so you have to click on the Desktop with the left mouse button and to select PC/2 Setup  Configure PC/2. A dialog box appears, where you can add, modify or remove Submenus and Applications. The listbox displays all Submenus and Applications of one level (like a cut through the tree). Of course you may change this level up and down. Once you have configured your tree of Submenus and Applications, just press Ok to take them into effect and save them to the profile or Cancel to take them into effect without saving. ═══ 6. Help for starting a program via PC/2 ═══ After you have configured the PC/2 Popup-Menu, you click on the Desktop with the left mouse button, select the Application you want to start and click on it. The Application will be started as if you were clicking on an icon. One advantage starting an Application this way is, that you can manipulate many parameters on how the Application is started, one thing you can't do with many icons. F.e. you can start it invisible (useful for a backup program), making it only visible by selecting it from the tasklist. You may also specify the size of the Application or to start it in the background. You can also start WPS objects, f.e. the Drives object or the Selective Install. If you have an WPS object, that represents a seamless WIN-OS2 application, you may even launch such a session. Be warned! - you have to create an WPS Object with MAKEOBJ.CMD first to define an Object ID (Identifier) with that Object, to enable PC/2 to get this ID. To close an Application, select the corresponding option from the Application or terminate it from the tasklist. ═══ 7. Help for PC/2 Configuration ═══ In the listbox, all Submenus and Applications of one level (imagine as a cut through the tree) are displayed. A Submenu has an arrow right beside it. F.e. assume the listbox contains 3 Submenus and 2 Appliations resulting in the following Popup-Menu: You may want to get into the Submenu Prompts. Just select the Submenu Prompts an click on the button Level Down >>. The listbox will now be filled with all Submenus and Applications of the Submenu Prompts. To get one level up, simply press << Level Up. If nothing seems to change, you may be either at the highest level (the root of the tree) or at the deapest level (a leaf of the tree) of a Submenu. To configure the Popup-Menu just select an item. o To change or to remove this item use the buttons Change Entry or Remove Entry. Either a new dialog appears allowing you to change the item, or the item will be removed. o To add a Submenu or an Application press the buttons Add Submenu or Add Program. A new dialog is displayed allowing you to add a new Submenu or Application, after pressing Ok in this dialog, the Submenu or Application will be inserted after the selected item, or at the end of the list if no item is selected. o To resort a Submenu press the button Resort Menu. A new dialog is displayed allowing you to resort the currently listed Submenu. Press here to get more information about the Resort dialog. If the listbox is empty, you can't remove or change anything. You also can't select any item, but in this case you can add a Submenu or an Application by just pressing the buttons, without needing to select an item. Press Ok to write the configuration to the profile, or press Cancel to keep the changes only in memory. Both buttons will dismiss the dialog. Example 1 Example 2 ═══ 7.1. Setup example 1 ═══ Assume the listbox contains the following items resulting in the following Popup-Menu: You want to remove the Submenu Editors, rename the Submenu Tools to Utilities and add a Submenu Demos. 1. Select the item Editors. You can now press the button Remove Entry to remove the submenu, but only if this Submenu is empty. If it isn't empty, get into this Submenu by pression Level Down >> and remove all items. 2. To rename Tools to Utilities select the item Tools and press the button Change Entry. A dialog box appears allowing you to rename this item. 3. Select the item, after which you want to insert the new Submenu. Then press the button Add Submenu to add one. A dialog box appears allowing you to enter the title of a new Submenu. ═══ 7.2. Setup example 2 ═══ Assume that you have remove all items, leading to an empty listbox. Now you want to add the Applications Backup and Terminal. 1. The listbox is empty, so you can't select any item. Just press the button Add Program and a dialog box appears, allowing you to enter all the data required for the new Application. 2. Now the listbox contains the item Backup, select it and press the button Add Program a second time. Again you get a dialog box, where you enter the data for the Application Terminal. ═══ 8. Help for PC/2 Menu Installation ═══ This dialog is used to get a name for a Submenu, which is then added to the Popup-Menu. You can enter whatever you like, f.e. to make a Submenu that contains OS/2 utilities you might enter Utilities. If you have choosen in the previous dialog to change the name of a Submenu, then overwrite the pre-entered text. Press Ok to accept, or press Cancel to ignore the data you entered. Examples ═══ 8.1. Menu installation examples ═══ Assume you have entered the following Submenu Titles: Title Purpose Prompts You want to add a Submenu named Prompts, that contains OS/2 and DOS, fullscreen and windowed command prompts. Spreadsheets You want to add a Submenu named Spreadsheets for your spreadsheet program like Lotus 123/G or Excel. ═══ 9. Help for PC/2 Program Installation ═══ This dialog is used to get the title, the path and filename, the working directory and parameters of a Menuitem, which is then added to the Popup-Menu. Additionally you can fine-tune the appearance of the program you want to add to the Popup-Menu. However the standard selections should provide a basis that is sufficient for most applications. Sometimes you want that you can enter a commandline parameter before an application is started, f.e. assume that you want to be prompted for a text file just before your text-editor is invoked. PC/2 allows you to be prompted for commandline parameters in addition to static parameters before the application is launched. Press on Commandline Parameters to find out more about this feature. The standard file dialog is opened, if you pressed File Find. Then you can easily find the program you want to add, the data of this program are inserted automatically. If a batch file was selected, the batch file will be inserted as a commandline parameter of a command processor. Alternatively PC/2 supports also Drag & Drop. You can f.e. use a Drives Object to select one application to add to PC/2. Then drag it into a free area within the dialog and drop it. PC/2 will insert the entryfields and application type correspondingly. You may also add WPS Objects, either manually or by Drag & Drop. If you insert an WPS Object correctly (I know this is a little bit particular) you may start your objects via the PC/2 Popup Menu. To add WPS Objects you must know the Object ID (Identifier), either for the preinstalled Objects from OS2_20.RC or the Object ID defined with installation of one WPS Object by MAKEOBJ.CMD. If you have choosen in the previous dialog to change the data of a Program, then overwrite or change the options you want. Press Ok to accept, or press Cancel to ignore the data you entered. For more information click on one of the following items: o Program Data o Program Type o Program Style o Program Size & Position o Program Priority Examples ═══ 10. Help for PC/2 Startup Parameters ═══ PC/2 allows you to replace the commandline parameters of your application completly or partly. F.e. assume you have a TCP/IP communications package installed on your system. You also have added an Menuitem that start a file transfer program named FTP. FTP requires as a parameter the name of the host you want to connect to. To prompt you for this parameter immediately before FTP is started, you would modify the parameters entryfield of the PC/2 Program Installation dialog like [Please enter host address] Further assume that you selected the Menuitem FTP from the Popup-Menu. Just before FTP is started, a dialog box is displayed, requesting the host address from you. F.e. you will type ftp-os2.nmsu.edu, then the file transfer program will be invoked as if you typed FTP ftp-os2.nmsu.edu from a commandline. Generally the syntax for the commandline parameters is: Parameter(s) 1 [Text] Parameter(s) 2 Assume you typed FirstFile.doc as the first and ThirdFile.doc as the second parameter. You will be asked by a dialog box, what to replace [Text] with. Assume you entered MyFile.doc then the program will be invoked with the commandline parameters FirstFile.doc MyFile.doc ThirdFile.doc. The string [Text] would have been replaced by MyFile.doc. Of course both parameters may be omited, both may contain more than one parameter or only one of them may present. Omiting [Text] would start the application without asking you for a commandline parameter prior. PC/2 allows you to edit commandline parameters similar to the WPS (open the Settings notebook of any application, position the cursor into the Parameters entryfield and press F1 or Help to get further information). Press Ok to accept the parameters you entered, or press Cancel to replace the commandline parameters by an empty string. ═══ 10.1. Program installation examples ═══ Assume you want to add Lotus 123/G: Fieldname You would enter Program Title: Lotus 123/G Path and Filename: c:\123g\123g.exe Working Directory: c:\123g Parameters: (none) Lotus 123/G is a Presentation Manager application so you would select Presentation Manager as program type. The program style may be Maximized, because more information is visible. The priority may be left at the default selection No Change. Assume you want to add the WPS Object System Clock (located in the folder OS/2 System  System Setup): Fieldname You would enter Program Title: System Clock Path and Filename: Working Directory: (n/a) Parameters: (n/a) The System Clock is a WPS Object, so WPS Object is selected as the program type. You may have to look into the file OS2_20.RC to get the defined name of preinstalled WPS Objects. Most settings are not available for WPS Objects. Assume you want to add the WPS Object seamless WIN-OS2 Clock. First you must create an WPS Object with a known Object ID (Identifier) with MAKEOBJ.CMD, a small REXX-utility supplied with PC/2. To do so, start MAKEOBJ.CMD and supply the Object ID when you're asked to. Then open the newly created Object Settings and change them as you usually do, when you want to make an Object for a seamless WIN-OS2 session of the WIN-OS2 clock. After you have created the WIN-OS2 clock object, you can drag it into this dialog of PC/2: Fieldname You would enter Program Title: Clock Path and Filename: Working Directory: (n/a) Parameters: (n/a) The seamless WIN-OS2 Clock is a WPS Object, so WPS Object is used as the program type. Assuming that you created the seamless WIN-OS2 clock object as outlined before, then the Object ID is . If you had an WPS Object before, and you don't know the Object ID, you have to create a new one with MAKEOBJ.CMD, to define a known Object ID. Sorry, this may be a little complicated, but it is the only way I know to get a known Object ID and the only way I know to start seamless WIN-OS2 sessions. ═══ 10.2. Program Data ═══ For a normal user it is the easiest way to use the following guidelines. According to the type of application you add, some fields may not be editable or visible: Fieldname You would enter Program Title: Here you enter the name, under which the program should appear in the tasklist. For OS/2 and DOS windows, this will be the title of the window. You may also name the Objects here, you want to add. Path and Filename: Here you enter the fully qualified path and filename. F.e. you might enter c:\os2\cmd.exe to obtain an OS/2 command prompt, or c:\os2\mdos\qbasic.exe to start the basic interpreter. Here you also enter the name of WPS Objects. WPS Objects are referred either by their defined Object ID (Identity) f.e. or for preinstalled Objects, of f.e. or for Objects installed by the user with MAKEOBJ.CMD, a REXX-utility supplied with PC/2. Preinstalled WPS Objects have usually a defined name, you may need to take a look into the file OS2_20.RC to get further information. PC/2 can only launch WPS Objects named by their defined ID, so be carefull to get either the correct ID from OS2_20.RC or to define an Object with a known ID with MAKEOBJ.CMD For a user installed Objects, you can freely use any name, preferably a descriptive name in the form . Sorry, this may be a little complicated, but it is the only way I know to get a known Object ID and the only way I know to start seamless WIN-OS2 sessions. You can't use the Program Template to create Objects if you want them to add to PC/2, because PC/2 can't obtain the Object ID of such Objects. Working Directory: Here you enter the directory where the EXE, HLP and DLL files of your application are located. Before the application is started, a change drive and change directory call is made, to make this directory the working directory. Parameters: Here you enter the parameters passed to the application. PC/2 allows you to be asked for commandline parameters before the application is invoked. Press on Commandline Parameters to find out more about this feature. Assume that you want to use VIEW.EXE to view the command reference, you would enter c:\os2\book\cmdref.inf. DOS Settings: If you select as program type a DOS Full-Screen or DOS Window, a multiline entryfield is displayed where you can enter the DOS Settings you need. Default, the DOS Settings IDLE_SECONDS=5 and IDLE_SENSITIVITY are added if you create a DOS application for the first time. (You have to spell the DOS Settings exactly as they are displayed in the standard DOS Settings dialog - even then some can't be set for whatever reasons there are.) File Find: If you click on this button, the standard file dialog of OS/2 is displayed where you can select the application you want to install. The application parameters (f.e. path) will then be inserted automatically in the corresponding entryfields. Drag & Drop: You can alternatively use the Drag & Drop operation to install one application. Select one application from f.e. a Drives object or from a filemanager, drag it into the dialog to any area that accepts it and drop it. The settings will be adjusted according to the application you dragged into. You may also drag any WPS Object into this dialog, but be carefull to verify the name of the Object, because I don't know how to do this automatically (you may need to look into OS2_20.RC for the exact spelling of preinstalled Objects. For a power user, the data entered may be less. Because the OS/2 API DosStartSession() is used to start the application, all rules for this API apply as described in the toolkit. Hence you may leave the entryfield Path and Filename blank and then select from the Program Type group an OS/2 or DOS fullscreen or window, to get a command prompt. You may also start an appliciation indirectly through a secondary command processor by specifying c:\os2\cmd.exe as the Path and Filename and use then the /C or /K option of CMD.EXE in the Parameters entryfield. ═══ 10.3. Program Type ═══ Here you can select the type of application you want to add. By default, PC/2 tries to determine the type of an application you installed via the standard file dialog or via Drag & Drop. You generally have to verify, that the Program Type setting corresponds to the application you installed, for most programs you can use Determined by WPS if you aren't sure. According to the Program Type that is selected, some settings may not be editable or visible. OS/2 and DOS Fullscreen or Windows are only used, if you want to start a command prompt as the application. In this case, you usually enter in the the entryfield Path and Filename of the group Program Data the path of the corresponding command processor. A advanced technique to select the type of command processor only with these radiobuttons is described under the group Program Data. ═══ 10.4. Program Style ═══ These selections should be self-explanatory, you can only change one of the radiobuttons, but apply as many checkboxes as you want as the Program Style. F.e. if you selected Minimized, Invisible and Background, the application will be started minimized, in the background and invisible (this may make sense for a backup program). ═══ 10.5. Program Size & Position ═══ Here you can use the checkbox to start an application with a preselected size and position. If you select the checkbox Size, Position you will be able to modify the size the started application should appear. If you deselect the checkbox, the data will be saved, but the application is started ignoring the size and position you entered. ═══ 10.6. Program Priority ═══ At this level of development, I don't know how to change the priority of a program started as an independent session, so these radiobuttons are unavailable. I know how to change the priority started as a child of PC/2, but if the parent application PC/2 fails (by a bug or a close from the tasklist) all the childs are also terminated, which is surely unacceptable. ═══ 11. Help for PC/2 Resort ═══ This dialog box contains two listboxes, the left one that displays the currently available Menuentries and the right one that displays the currently resorted Menuentries. Select the first Menuentry from the left listbox and press the Reorder button, to resort it to the right listbox. For the next Menuentry(ies) repeat this procedure, until the left listbox is empty. You can cancel the resort before you have done any sort, but you have to resort the complete Submenu once you made one resort operation. All sorted Menuentries in the right listbox can't be started with PC/2 until you complete the resort by pressing OK. Warning! - You have to press OK in the Confguration Dialog to write the resorted Menuentries structure to the configuration file. ═══ 12. Help for PC/2 Errors ═══ PC/2 can't verify all user input for validity, so some user input may cause some PC/2 functions to fail. In this case, a message box is displayed containing the module and the sourcecode linenumber that failed. Also a error message is displayed containing which error occured and what should be done to resolve the problem. F.e. you might have configured to start the program VIEW.EXE by writing c:\os3\view.exe in the entryfield Path and Filename in the Program Installation dialog. This of course leads to an error, because when OS/2 tries to start this item, it can't find the directory \os3\ simply because it should read \os2\. A message box is displayed saying an error occured and that the user input should be corrected. The messagebox has three buttons that may be pressed: Button Result Abort PC/2 will be terminated and all unsaved data will be lost. You have to restart PC\2 again. This button should be the last one you select. Retry The error is ignored, you may need to correct your data entered in the entryfields. Ignore The error is ignored, you may need to correct your data entered in the entryfields.